Optical networks are becoming widely used for distributing both high and low speed data over varying distances. Typically, an optical network is comprised of a number of network elements (NE) that are connected to each other in a variety of configurations so as to form a unified communication network. The communication network may extend over a small area, such as a company wide network, or may cover large distances, such as in regional or nationwide networks. Typically, the NE's allow network clients to input data for transmission over the network and to receive data transmitted over the network from other locations. Thus, data may be added or dropped from the network at NE locations as the data flows from point to point throughout the network.
A network element may include one or more transceivers that convert optical signals from one wavelength to another, or from an optical to an electrical signal, so that for example, data received at a first wavelength and bit rate is sent out at a different wavelength and bit rate. The transceiver may include both input and output tributaries that allow data to be received and transmitted to network users that are local to the network element. For example, an input tributary allows a network user to input signals at an NE for transmission over the network, and an output tributary allows a network user to receive signals at an NE that have been received from the network.
With respect to the input tributary of a transceiver, a network client may provide data without a corresponding clock signal for transmission over the network. For example, the data may be encoded using a non-return to zero (NRZ) encoding scheme, where a “0” is the absence of a pulse, and a “1” is the presence of a pulse. Furthermore, different network clients may input data having different data rates. As a result, one problem that exists is that network operators are required to set up the input tributaries to receive each client's data.
Typically, a tributary's input receiver is provisioned for an expected data rate. That means that the network client must inform the network operator about the rate that will be used, and the network operator must set up the tributary's input receiver to receive data at the selected data rate. This creates efficiency problems since the input tributary must always be set up correctly by the network operator to receive client data. If the client decides to input data at a higher or lower data rate, then the receiver must be adjusted to accommodate the new rate. In addition, it becomes difficult to add new traffic from a network client, since another tributary needs to be provisioned for the data rate of the new data. As a result, there exists a great burden on network operators to provision or adjust the tributary receivers for every new data stream, or rate change to an existing data stream.
One solution that has been used to solve the above problems is to use a clock and data recover circuit (CDR). Such circuits attempt to generate a clock from the received data, however, current implements of these circuits have several flaws. One problem that exists is that current CDR circuits may generate a clock signal that is only a harmonic of the desired clock signal. By locking a harmonic of the desired clock signal to the data, downstream processors will experience large data error rates. Another problem that exists with current CDR circuits is that if something close to the desired clock is generated, there exist phase and frequency errors that also contribute to high error rates.
Therefore, it would be desirable to have a way to automatically determine and lock onto a clock signal that is optimal for a received data stream, thereby reducing the burden on network operators to set up and adjust tributary receivers, and providing a highly accurate clock signal that results in very low data error rates.